%ifdef CONFIG
{
  "HostFeatures": ["AVX"],
  "RegData": {
    "XMM4":  ["0x4142434445464748", "0x7172737475767778", "0x0000000000000000", "0x0000000000000000"],
    "XMM5":  ["0x4546474800000000", "0x7576777800000000", "0x0000000000000000", "0x0000000000000000"],
    "XMM6":  ["0x0000000000000000", "0x0000000000000000", "0x0000000000000000", "0x0000000000000000"],
    "XMM7":  ["0x4142434445464748", "0x7172737475767778", "0x0000000000000000", "0x0000000000000000"],
    "XMM8":  ["0x4546474800000000", "0x7576777800000000", "0x0000000000000000", "0x0000000000000000"],
    "XMM9":  ["0x0000000000000000", "0x0000000000000000", "0x0000000000000000", "0x0000000000000000"],
    "XMM10": ["0x4142434445464748", "0x7172737475767778", "0x4142434445464748", "0x7172737475767778"],
    "XMM11": ["0x4546474800000000", "0x7576777800000000", "0x4546474800000000", "0x7576777800000000"],
    "XMM12": ["0x0000000000000000", "0x0000000000000000", "0x0000000000000000", "0x0000000000000000"],
    "XMM13": ["0x4142434445464748", "0x7172737475767778", "0x4142434445464748", "0x7172737475767778"],
    "XMM14": ["0x4546474800000000", "0x7576777800000000", "0x4546474800000000", "0x7576777800000000"],
    "XMM15": ["0x0000000000000000", "0x0000000000000000", "0x0000000000000000", "0x0000000000000000"]
  }
}
%endif

lea rdx, [rel .data]

vmovapd ymm0, [rdx]
vmovapd ymm1, [rdx + 32 * 1]
vmovapd ymm2, [rdx + 32 * 2]
vmovapd ymm3, [rdx + 32 * 3]

vpsllq xmm4, xmm0, xmm1
vpsllq xmm5, xmm0, xmm2
vpsllq xmm6, xmm0, xmm3

vpsllq xmm7, xmm0, [rdx + 32 * 1]
vpsllq xmm8, xmm0, [rdx + 32 * 2]
vpsllq xmm9, xmm0, [rdx + 32 * 3]

vpsllq ymm10, ymm0, xmm1
vpsllq ymm11, ymm0, xmm2
vpsllq ymm12, ymm0, xmm3

vpsllq ymm13, ymm0, [rdx + 32 * 1]
vpsllq ymm14, ymm0, [rdx + 32 * 2]
vpsllq ymm15, ymm0, [rdx + 32 * 3]

hlt

align 32
.data:
dq 0x4142434445464748
dq 0x7172737475767778
dq 0x4142434445464748
dq 0x7172737475767778

dq 0x0000000000000000
dq 0x5152535455565758
dq 0x5152535455565758
dq 0x5152535455565758

dq 0x0000000000000020
dq 0x5152535455565758
dq 0x5152535455565758
dq 0x5152535455565758

dq 0x0000000000000040
dq 0x5152535455565758
dq 0x5152535455565758
dq 0x5152535455565758
